/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cadastros;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import utilitarios.conexao;

/**
 *
 * @author Eli
 */
public class logradouro extends javax.swing.JFrame {

    conexao con_cidade;
    int navega = 0; // variavel para sabermos qual botao foi clicado
    int inicia_combo = 0;
    String ordenacao = "nome";
    
    
    /**
     * Creates new form cad_cidade
     */
    public logradouro() {
        initComponents();
        
        con_cidade = new conexao();
        con_cidade.conecta();
        con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);
        
        try
        {
            while( con_cidade.resultset.next() )
            {
                jcb_pesquisa.addItem(con_cidade.resultset.getString("nome"));
            }
            
            con_cidade.resultset.first();
            mostrar_dados();
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não localizou dados"+erro);
        }
        
        preencher_jtable(); // chama metodo para preenchee jtable
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        grupo_ordenacao = new javax.swing.ButtonGroup();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        tf_codigo = new javax.swing.JTextField();
        tf_nome = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        botao_primeiro = new javax.swing.JButton();
        botao_anterior = new javax.swing.JButton();
        botao_proximo = new javax.swing.JButton();
        botao_ultimo = new javax.swing.JButton();
        botao_gravar = new javax.swing.JButton();
        botao_inserir = new javax.swing.JButton();
        botao_excluir = new javax.swing.JButton();
        botao_alterar = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jLabel5 = new javax.swing.JLabel();
        tf_pesquisa = new javax.swing.JTextField();
        jcb_pesquisa = new javax.swing.JComboBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jPanel2 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        rb_codigo = new javax.swing.JRadioButton();
        rb_nome = new javax.swing.JRadioButton();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Manutenção do Cadastro de Cidades");

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(204, 0, 0));
        jLabel1.setText("Manutenção do Cadastro de Logradouro");

        jLabel2.setText("Código:");

        jLabel3.setText("Nome:");

        botao_primeiro.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\primeiro_registro.gif")); // NOI18N
        botao_primeiro.setToolTipText("Primeiro registro");
        botao_primeiro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_primeiroActionPerformed(evt);
            }
        });

        botao_anterior.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\registro_anterior.gif")); // NOI18N
        botao_anterior.setToolTipText("Anterior");
        botao_anterior.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_anteriorActionPerformed(evt);
            }
        });

        botao_proximo.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\proximo_registro.gif")); // NOI18N
        botao_proximo.setToolTipText("Próximo");
        botao_proximo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_proximoActionPerformed(evt);
            }
        });

        botao_ultimo.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\ultimo_registro.gif")); // NOI18N
        botao_ultimo.setToolTipText("Último registro");
        botao_ultimo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_ultimoActionPerformed(evt);
            }
        });

        botao_gravar.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\gravar_registro.gif")); // NOI18N
        botao_gravar.setText("Gravar");
        botao_gravar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_gravarActionPerformed(evt);
            }
        });

        botao_inserir.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\novo_registro.gif")); // NOI18N
        botao_inserir.setText("Inserir");
        botao_inserir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_inserirActionPerformed(evt);
            }
        });

        botao_excluir.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\delete.gif")); // NOI18N
        botao_excluir.setText("Excluir");
        botao_excluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_excluirActionPerformed(evt);
            }
        });

        botao_alterar.setIcon(new javax.swing.ImageIcon("C:\\Java\\NetBeansProjects\\Estoque\\imagens\\alterar_registro.gif")); // NOI18N
        botao_alterar.setText("Alterar");
        botao_alterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botao_alterarActionPerformed(evt);
            }
        });

        jPanel1.setBackground(new java.awt.Color(255, 51, 51));

        jLabel5.setText("Pesquisar:");

        tf_pesquisa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tf_pesquisaActionPerformed(evt);
            }
        });

        jcb_pesquisa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jcb_pesquisaActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(jLabel5)
                .addGap(18, 18, 18)
                .addComponent(tf_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jcb_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(tf_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jcb_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(21, 21, 21))
        );

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null},
                {null, null},
                {null, null}
            },
            new String [] {
                "Código", "Nome do Logradouro"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        jPanel2.setBackground(new java.awt.Color(204, 255, 204));

        jLabel6.setText("Ordenação");

        grupo_ordenacao.add(rb_codigo);
        rb_codigo.setText("Código");
        rb_codigo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rb_codigoActionPerformed(evt);
            }
        });

        grupo_ordenacao.add(rb_nome);
        rb_nome.setSelected(true);
        rb_nome.setText("Nome");
        rb_nome.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rb_nomeActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(rb_nome)
                    .addComponent(jLabel6)
                    .addComponent(rb_codigo))
                .addContainerGap(57, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rb_codigo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rb_nome)
                .addContainerGap(27, Short.MAX_VALUE))
        );

        jButton1.setText("Filtrar na grade");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel2)
                            .addComponent(jLabel3))
                        .addGap(31, 31, 31)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(101, 101, 101)
                        .addComponent(botao_primeiro)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_anterior)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_proximo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_ultimo))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(79, 79, 79)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGap(35, 35, 35)
                                .addComponent(botao_inserir)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_gravar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_excluir)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botao_alterar)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel2)
                            .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botao_primeiro)
                    .addComponent(botao_anterior)
                    .addComponent(botao_proximo)
                    .addComponent(botao_ultimo))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botao_gravar)
                    .addComponent(botao_excluir)
                    .addComponent(botao_alterar)
                    .addComponent(botao_inserir))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(25, 25, 25))
        );

        setSize(new java.awt.Dimension(488, 575));
        setLocationRelativeTo(null);
    }// </editor-fold>//GEN-END:initComponents

    private void botao_primeiroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_primeiroActionPerformed
        // TODO add your handling code here:
        
        try
        {
            con_cidade.resultset.first();
            mostrar_dados();
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não foi possivel ir para o primeiro registro: "+erro);
        }
        
    }//GEN-LAST:event_botao_primeiroActionPerformed

    private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_gravarActionPerformed
        // TODO add your handling code here:
      
        try
        {
            String sqlinsert = "insert into logradouro(nome) values('"+ tf_nome.getText() +"')";
            con_cidade.statement.executeUpdate(sqlinsert);
            JOptionPane.showMessageDialog(null, "gravação realizada com sucesso");
            
            // atualiza o resutset
            //con_cidade.resultset = con_cidade.statement.executeQuery("select * from cidade");
            con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);
            atualiza_combo_box_cidade();
            con_cidade.resultset.first();    // posiciona no primeiro registro
            mostrar_dados();
        }
        catch( SQLException erro )
        {
            JOptionPane.showMessageDialog(null, "erro ao tentar gravar registro: "+erro);
        }
        
    }//GEN-LAST:event_botao_gravarActionPerformed

    private void botao_inserirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_inserirActionPerformed
        // TODO add your handling code here:
        
        // limpa os campos
        tf_codigo.setText("");
        tf_nome.setText("");
        
        
        tf_nome.requestFocus(); // coloca em foco
        tf_codigo.setEditable(false);   // desabilita o campo
    }//GEN-LAST:event_botao_inserirActionPerformed

    private void botao_excluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_excluirActionPerformed
        // TODO add your handling code here:
        
        try
        {
            String sql = "select * from logradouro Where codigo = "+tf_codigo.getText();
            con_cidade.executeSQL(sql); 
            con_cidade.resultset.first();
            String nome = "Deletar o Bsirro : "+con_cidade.resultset.getString("nome")+" ?";
            int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome,"Exclusão ",JOptionPane.YES_NO_OPTION);
            
            if (opcao_escolhida == JOptionPane.YES_OPTION)
            {
                sql = "DELETE FROM logradouro Where codigo ="+tf_codigo.getText();
                int conseguiu_excluir = con_cidade.statement.executeUpdate(sql);
                if (conseguiu_excluir == 1)
                {
                    JOptionPane.showMessageDialog(null,"Exclusão realizada com sucesso");
                    
                    con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);
                    atualiza_combo_box_cidade();
                    con_cidade.resultset.first();   // posiciona no primeiro registro
                    mostrar_dados(); //irá chamar a função em que irá mstrar os dados no form
                    
                }
            } 	
            else
            {
                return;
            }
        }
        catch( SQLException erro )
        {
            JOptionPane.showMessageDialog(null, "erro ao tentar excluir o registro: "+erro);
        }
    }//GEN-LAST:event_botao_excluirActionPerformed

    private void botao_alterarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_alterarActionPerformed
        // TODO add your handling code here:
        
        try
        {
            String sql ="UPDATE logradouro SET nome ='"+tf_nome.getText()+"' where codigo = "+tf_codigo.getText();
            con_cidade.statement.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Alteração realizado com sucesso!");

            //atualiza o ResultSet
            con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);
            atualiza_combo_box_cidade();
            con_cidade.resultset.first();   // posiciona no primeiro registro
            mostrar_dados(); //irá chamar a função em que irá mstrar os dados no form
        }
        catch (SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Erro a tentar Alterar o registro..."+erro);
        }
        
    }//GEN-LAST:event_botao_alterarActionPerformed

    private void botao_proximoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_proximoActionPerformed
        // TODO add your handling code here:
        
        try
        {
            con_cidade.resultset.next();
            mostrar_dados();
            navega = 2;
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não foi possivel ir para o proximo registro"+erro);
        }
        
    }//GEN-LAST:event_botao_proximoActionPerformed

    private void botao_ultimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_ultimoActionPerformed
        // TODO add your handling code here:
        
        try
        {
            con_cidade.resultset.last();
            mostrar_dados();
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não foi possivel ir para o ultimo registro"+erro);
        }
        
    }//GEN-LAST:event_botao_ultimoActionPerformed

    private void botao_anteriorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botao_anteriorActionPerformed
        // TODO add your handling code here:
        
        try
        {
           con_cidade.resultset.previous();
           mostrar_dados();
           navega = 1;
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não foi possivel ir para o registro anterior: "+erro);
        }
        
    }//GEN-LAST:event_botao_anteriorActionPerformed

    private void jcb_pesquisaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcb_pesquisaActionPerformed
        // TODO add your handling code here:
        
        if( inicia_combo == 1 )
        {
            try
            {
                con_cidade.resultset.first();
                String igual = "n";

                while( igual == "n" )
                {
                   if( con_cidade.resultset.getString("nome").equals(jcb_pesquisa.getSelectedItem()) )
                    {
                        igual = "s";
                    }
                    else
                    {
                        con_cidade.resultset.next();
                    }
                }

                // mostra o conteudo da tabela
                tf_codigo.setText(con_cidade.resultset.getString("codigo"));
                mostrar_dados();
            }
            catch( SQLException erro )
            { 
                //JOptionPane.showMessageDialog(null, "Não conseguiu localizar via digitação, erro = "+erro);
            }
        }
        
        inicia_combo = 1;
        
    }//GEN-LAST:event_jcb_pesquisaActionPerformed

    private void tf_pesquisaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_pesquisaActionPerformed
        // TODO add your handling code here:
        
        try
        {
            con_cidade.resultset.first();
            String igual = "n";
            int tamanho_pesquisa = tf_pesquisa.getText().length();
            
            while( igual == "n" )
            {
                String pesquisado = con_cidade.resultset.getString("").substring(0, tamanho_pesquisa);
                
                if( pesquisado.equals(tf_pesquisa.getText()))
                {
                    igual = "s";
                }
                else
                {
                    con_cidade.resultset.next();
                }
            }
            
            // mostra o conteudo da tabela
            tf_codigo.setText(con_cidade.resultset.getString("codigo"));
            mostrar_dados();
            
            jcb_pesquisa.setSelectedItem(tf_nome.getText()); // atualiza combo
        }
        catch( SQLException erro )
        { 
            JOptionPane.showMessageDialog(null, "Não conseguiu localizar via digitação, erro = "+erro);
        }
        
    }//GEN-LAST:event_tf_pesquisaActionPerformed

    private void rb_codigoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rb_codigoActionPerformed
        // TODO add your handling code here:
        
        ordem_visualizacao("codigo");
        
    }//GEN-LAST:event_rb_codigoActionPerformed

    private void rb_nomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rb_nomeActionPerformed
        // TODO add your handling code here:
        
        ordem_visualizacao("nome");
        
    }//GEN-LAST:event_rb_nomeActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        
        con_cidade.executeSQL("select * from logradouro where nome like '"+tf_pesquisa.getText()+"%' order by "+ordenacao);          
        preencher_jtable();
        
    }//GEN-LAST:event_jButton1ActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(cad_cidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(cad_cidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(cad_cidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(cad_cidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new logradouro().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton botao_alterar;
    private javax.swing.JButton botao_anterior;
    private javax.swing.JButton botao_excluir;
    private javax.swing.JButton botao_gravar;
    private javax.swing.JButton botao_inserir;
    private javax.swing.JButton botao_primeiro;
    private javax.swing.JButton botao_proximo;
    private javax.swing.JButton botao_ultimo;
    private javax.swing.ButtonGroup grupo_ordenacao;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JComboBox jcb_pesquisa;
    private javax.swing.JRadioButton rb_codigo;
    private javax.swing.JRadioButton rb_nome;
    private javax.swing.JTextField tf_codigo;
    private javax.swing.JTextField tf_nome;
    private javax.swing.JTextField tf_pesquisa;
    // End of variables declaration//GEN-END:variables

    public void mostrar_dados()
    {
        try
        {
            tf_codigo.setText(con_cidade.resultset.getString("codigo"));
            tf_nome.setText(con_cidade.resultset.getString("nome"));
           
        }
        catch( SQLException erro)
        {
            if( navega == 1 )
            {
                JOptionPane.showMessageDialog(null, "você já está no primeiro registro");
            }
            else if( navega == 2 )
            {
                JOptionPane.showMessageDialog(null, "você já está no último registro");
            }
            else
            {            
                JOptionPane.showMessageDialog(null, "não localizou dados"+erro);
                navega = 0;
            }
        }
    }
    
    public void atualiza_combo_box_cidade()
    {
        try
        {
            jcb_pesquisa.removeAllItems();
            con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);
            
            while( con_cidade.resultset.next() )
            {
                jcb_pesquisa.addItem(con_cidade.resultset.getString("nome"));
            }
        }
        catch( SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "não localizou dados"+erro);
        }
    }
    
    public void preencher_jtable()
    {
        jTable1.getColumnModel().getColumn(0).setPreferredWidth(20);
        jTable1.getColumnModel().getColumn(1).setPreferredWidth(150);
    
         
        DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
        modelo.setNumRows(0);
         
        try
        {
           while (con_cidade.resultset.next())
           {
                modelo.addRow(new Object[]{con_cidade.resultset.getString("Codigo"),con_cidade.resultset.getString("nome")});
           }
           
           con_cidade.resultset.first();
         }  
         catch( SQLException erro )
         {
             JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);
        }  
    }
    
    public void ordem_visualizacao(String Ordem)
    {
        ordenacao = Ordem;
        
        con_cidade.executeSQL("select * from logradouro order by "+ ordenacao);           
        preencher_jtable();
        atualiza_combo_box_cidade();
        
        try
        {
            con_cidade.resultset.first();
        }
         catch (SQLException erro){
             JOptionPane.showMessageDialog(null,"Erro na ordenação dos dados "+erro);
        }
        
        mostrar_dados();
        
    }
    
}
